1. Field of the Invention
The present invention relates to information handling systems, and more specifically, to flexible distribution of input-output resources in a multi-host environment.
2. Background of the Related Technology
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes, thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems, e.g., computer, personal computer workstation, portable computer, computer server, print server, network router, network hub, network switch, storage area network disk array, RAID disk system and telecommunications switch.
Today's monolithic servers have dedicated input-output (I/O) subsystems with I/O slots (PCI) and embedded I/O devices. A typical server topology, show in FIG. 1, comprises one or more CPUs interconnected by a front side bus to which is attached a “north bridge.” The north bridge functions as interfaces to both memory and I/O bridge interfaces, the latter through an I/O interconnect means that is often proprietary. The I/O bridge interfaces in turn are coupled to industry standard I/O buses such as PCI to which I/O cards are attached to generate standard network and storage connections such as Ethernet and Fibre Channel. The I/O resources (cards and embedded I/O) within the chassis are fixed and dedicated to the associated server.
FIG. 2 depicts servers using new standard serial I/O technologies such as PCI EXPRESS™ (a pending ITU trademark application registration by PCI SIG CORPORATION OREGON 5440 SW Westgate Drive, Suite 217, Portland Oreg. 97221). With the newer high speed serial I/O technologies it becomes practical to incorporate the I/O bridge functionality in the north bridge and provide direct connections to I/O slots, devices, or modules.
FIG. 3 depicts a fixed I/O per server paradigm using modular information handling system servers. Modular or blade information handling systems may have multiple servers contained within a single chassis or frame, with each server having some amount of dedicated I/O. This I/O may comprise one or more embedded devices such as an Ethernet controller and/or I/O slots, and the I/O interface may be a serial technology such as PCI EXPRESS™.
When multiple servers are deployed in a single chassis or frame, the I/O subsystems for each server typically remain in a fixed configuration associated only with the respective server and with no flexibility to redistribute the I/O resources (e.g., PCI slots or devices) in accordance with the needs of each server in the chassis. Allocating and sharing I/O resources between servers, generally, have been based on networking paradigms with sophisticated software stacks for supporting Ethernet running TCP/IP.
Therefore, a problem exists, and a solution is required for improving on how an information handling system of a multi-server environment having multiple I/O resources may allocate these I/O resources to any of the servers as the operational environment dictates, and in a manner that is software compatible with industry standard I/O subsystems, and current software operating systems.